package com.jaeke.service.impl;

import com.jaeke.dao.UserDao;
import com.jaeke.service.UserService;
import com.jaeke.transaction.TransactionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionStatus;

// user 服务层
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;
    @Autowired
    private TransactionUtils transactionUtils;

    // Spring 技术  事物封装 aop
//    public void add() {
////        System.out.println("开启事务");
////        System.out.println("往数据库中添加数据。。。。。。");
////        System.out.println("提交事务");
//
//        TransactionStatus begin = null;
//        try {
//            // 开启事务
//            begin = transactionUtils.begin();
//            userDao.add("test0001", 24);
//            System.out.println("------------------------------------");
//            userDao.add("test0002", 29);
//            if(begin != null) {
//                transactionUtils.commit(begin);
//            }
//        }catch (Exception e) {
//            e.getMessage();
//            if(begin != null) {
//                // 回滚事务
//                transactionUtils.rollBack(begin);
//            }
//        }
//    }

    public void add() {
            userDao.add("test0001", 24);
            System.out.println("------------------------------------");
            userDao.add("test0002", 29);
    }
}
